<template>
	<text :style="[{
		color:color,
		fontSize :  $addUnit(size),
		font:font,
		fontWeight:  fontWeight,
		fontStyle:fontStyle,
		fontFamily:fontFamily,
		background:background,
		whiteSpace:whiteSpace,
		textOverflow:textOverflow,
		overflow:overflow,

		
		
	},customStyle]" :selectable="selectable" :userSelect="space" @tap="tap">
		<slot></slot>
	</text>

</template>

<script>
	export default {
		name: "cxText",
		data() {
			return {

			};
		},
		methods: {
			tap() {
				this.$emit('confirm');
			}
		},

		props: {

			/**
			 * text属性
			 * 
			 */
			/**
			 * 文本是否可选
			 */
			selectable: {
				type: Boolean,
				default: false
			},
			/**
			 * 文本是否可选	微信小程序
			 */
			userSelect: {
				type: Boolean,
				default: false
			},
			/**
			 * 显示连续空格	钉钉小程序不支持
			 * ensp	中文字符空格一半大小
				emsp	中文字符空格大小
				nbsp	根据字体设置的空格大小
			 * 
			 */
			space: {
				type: String,
				default: ''
			},
			/**
			 * 是否解码	百度、钉钉小程序不支持
			 */
			show: {
				type: Boolean,
				default: false
			},
			background: {
				type: String,
				default: ''
			},

			/**
			 * 文字效果
			 */

			/**
			 * 用来控制字体大小
			 */
			size: {
				type: [String, Number],
				default: '28'
			},
			/**
			 * 字体颜色
			 */
			color: {
				type: String,
				default: '#333333'
			},
			/**
			 * font
			 * 指定在一个声明的所有字体属性：
			 * font:15px arial,sans-serif;
			 * font:italic bold 12px/30px Georgia, serif;
			 * 可设置的属性是（按顺序）： "font-style font-variant font-weight font-size/line-height font-family"
			 */
			font: {
				type: String,
				default: '-'
			},

			/**
			 * fontWeight
			 * normal	默认值。定义标准的字符。
			 * bold	定义粗体字符。
			 * bolder	定义更粗的字符。
			 * lighter	定义更细的字符。
			 * 定义由细到粗的字符。400 等同于 normal，而 700 等同于 bold。
			 * inherit	规定应该从父元素继承字体的粗细。
			 * 
			 */
			fontWeight: {
				type: String,
				default: ''
			},
			/**
			 * fontStyle
			 * vnormal	默认值。浏览器显示一个标准的字体样式。
				italic	浏览器会显示一个斜体的字体样式。
				oblique	浏览器会显示一个倾斜的字体样式。
					inherit	规定应该从父元素继承字体样式。
			 * 
			 * 
			 */
			fontStyle: {
				type: String,
				default: ''
			},
			/**
						 * 段落的字体
						 * ont - family属性指定一个元素的字体。
						 * font-family 可以把多个字体名称作为一个"回退"系统来保存。如果浏览器不支持第一个字体，则会尝试下一个。
			
			有两种类型的字体系列名称：
						family-name - 指定的系列名称：具体字体的名称，比如："times"、"courier"、"arial"。
						generic-family - 通常字体系列名称：比如："serif"、"sans-serif"、"cursive"、"fantasy"、"monospace"。
						 */
			fontFamily: {
				type: String,
				default: ''
			},

			customStyle: {
				type: Object,
				default () {
					return {}
				}
			},
			allowSelect: {
				type: Boolean,
				default: false
			},
			/**
			 * normal
			 * nowrap|当CSS的空白属性设置为nowrap时，两个或多个white-spaces的每个序列将显示为单个空白。除非明确指定，否则元素中的内容不会换行。
			 * pre|此值使空格与HTML中的<pre>标签具有相同的效果。仅当使用换行符指定时，元素中的内容才会换行
			 * pre-line|当CSS的空白属性设置为行前值时，两个或多个white-spaces的每个序列将显示为单个空白。元素中的内容将在需要时以及在明确指定时进行包装。
			 * pre-wrap|当CSS的空白属性设置为前行值时，white-spaces的每个序列都将按原样显示。元素中的内容将在需要时以及在明确指定时进行包装。
			 * initial|此值将空白属性设置为默认值
			 * inherit;此值将空白属性设置为父元素的值
			 */
			whiteSpace: {
				type: String,
				default: ''
			},

			/**
			 * clip	--剪切文本。
			 * ellipsis	----显示省略符号 ... 来代表被修剪的文本。
			 * string	--使用给定的字符串来代表被修剪的文本。
			 * initial	---设置为属性默认值
			 * inherit	---从父元素继承该属性值
			 */
			textOverflow: {
				type: String,
				default: ''
			},


			overflow: {
				type: String,
				default: 'hidden'
			},



		}
	}
</script>

<style>

</style>
